(function (mui, $) {
var page  = window.page = {};
//订单状态（1待支付，2:已支付待发货，3:已发货待收货,4:待评价,5:待退款, 6:交易关闭, 99:交易完成）
var _Data = {'token':app.store('token'), 'page':0, 'nums':20, 'status':''};

page.init = function (data) {
	_Data.status = (data||{'status':''}).status;
	call_on_pull_down();
};
page.refresh = function () {
	var view = plus.webview.currentWebview();
	if ('member.order.scroll.all.html' != view.id) {
		plus.webview.getWebviewById('member.order.scroll.all.html').evalJS('page.refresh()');
	}
	
	call_on_pull_down();
};
page.disable = function (data) {
	$('.order[data-id='+data.id+'] .op-row>button').prop('disabled', true);
};
page.trigger = function (code) {
	//var code = 'page.disable('+JSON.stringify({'id':order_id})+')';
	plus.webview.getWebviewById('member.order.scroll.all.html').evalJS(code);
	plus.webview.getWebviewById('member.order.scroll.unpay.html').evalJS(code);
	plus.webview.getWebviewById('member.order.scroll.undelivery.html').evalJS(code);
	plus.webview.getWebviewById('member.order.scroll.delivering.html').evalJS(code);
	plus.webview.getWebviewById('member.order.scroll.delivered.html').evalJS(code);
};

function next (cb) {
	app.log('请求参数：', mui.extend({}, _Data, {'page':_Data.page + 1, 'data':{'status':_Data.status}}));
	if (plus.webview.currentWebview().isVisible()) { plus.nativeUI.showWaiting(); }
	$.ajax({
		'dataType' : 'json',
		'type'     : 'post',
		'url'      : app.url('App/Order/Index/lists'),
		'data'     : mui.extend({}, _Data, {'page':_Data.page + 1, 'data':{'status':_Data.status}}),
	})
	.fail(function (res) {
		// 失败回调
		plus.nativeUI.closeWaiting();
		app.log('获取订单列表失败：', res);
		app.toast('获取订单列表失败');
		app.tryResetPullLoading();
	})
	.done(function (res) {
		// 成功回调
		plus.nativeUI.closeWaiting();
		app.log('订单数据：', res);
		
		if (500 == res.code) { app.toast('你还未登录'); app.tryResetPullLoading(); return; }
		if (300 == res.code) { app.toast(res.msg); return; }
		if (200 != res.code) { app.toast('请求失败'); return; }
		if (res.msg && plus.webview.currentWebview().isVisible()) { app.toast(res.msg); }
		
		if (res.data && res.data.length) { _Data.page++; }
		cb && cb(res);
	})
	;
}
// 下拉刷新
function call_on_pull_down () {
	var pullrefresh = mui('.container-pull-refresh').pullRefresh();
	_Data.page = 0;
	$(pullrefresh.element).find('.mui-scroll>.scroll-data').empty();
	
	next (function (res) {
		var dom = $(pullrefresh.element).find('.mui-scroll>.scroll-data');
		$(dom).append(app.tpl($(dom).attr('data-tpl'), res));
		pullrefresh.endPulldownToRefresh();
	});
}
// 上拉加载
function call_on_pull_up () {
	var pullrefresh = mui('.container-pull-refresh').pullRefresh();
	
	next (function (res) {
		var dom = $(pullrefresh.element).find('.mui-scroll>.scroll-data');
		var ele = app.tpl($(dom).attr('data-tpl'), res);
		if ($(ele).hasClass('no-data')) {
			if (0 == _Data.page) { $(dom).empty(); } else { $(ele).remove(); ele = null; }
		}
		$(dom).append(ele);
		pullrefresh.endPullupToRefresh();
	});
}
mui.init({
	pullRefresh   : {
		container : '.container-pull-refresh',
		down      : {callback : call_on_pull_down},
		up        : {callback : call_on_pull_up},
	}
});

mui.plusReady(function() {
	var view = plus.webview.currentWebview();
	// 隐藏未默认显示的窗口
	if (view.extras.status) { view.hide(); }
	
	setTimeout(function () {
		page.init({ 'status': app.getQueryString('status') });
	}, 1000);
});
// 进入订单流程
$('body').delegate('.btn-flow', 'tap', function () {
	var dom = $(this).closest('.order');
	app.open('member.order.flow.html', {'id':$(dom).attr('data-id')});
});
// 点击商品图片查看商品详情
$('body').delegate('.order-img', 'tap', function () {
	var dom = $(this).closest('.product');
	app.open('product.detail.html', {'id':$(dom).attr('data-id')});
});
// 取消订单
$('body').delegate('.btn-cancel', 'tap', function () {
	var dom = this, order_id = $(dom).closest('.order').attr('data-id');
	
	app.log('取消订单：', {'token':app.store('token'), 'data':{'order_id':order_id}});
	$(dom).prop('disabled', true);
	plus.nativeUI.showWaiting();
	$.ajax({
		'dataType' : 'json',
		'type'     : 'post',
		'url'      : app.url('App/Order/Index/cancel'),
		'data'     : {'token':app.store('token'), 'data':{'order_id':order_id}},
	})
	.fail(function (res) {
		// 失败回调
		plus.nativeUI.closeWaiting();
		app.log('取消订单失败：', res);
		app.toast('取消订单失败');
		$(dom).prop('disabled', false);
	})
	.done(function (res) {
		// 成功回调
		plus.nativeUI.closeWaiting();
		app.log('取消订单：', res);
		$(dom).prop('disabled', false);
		
		if (500 == res.code) { app.toast('你还未登录'); return; }
		if (300 == res.code) { app.toast(res.msg); return; }
		if (200 != res.code) { app.toast('请求失败'); return; }
		if (res.msg) { app.toast(res.msg); }
		
		$(dom).prop('disabled', true);
		page.trigger('page.disable('+JSON.stringify({'id':order_id})+')');
	})
	;
});
// 重新发起支付
$('body').delegate('.btn-repay', 'tap', function () {
	app.open('checkout.payway.html', {'order_id':$(this).closest('.order').attr('data-id'), 'callback':'page.refresh()'});
})
// 催单
$('body').delegate('.btn-hurry-up', 'tap', function () {
	plus.nativeUI.showWaiting();
	setTimeout(function () {
		app.toast('催单成功！！！');
		plus.nativeUI.closeWaiting();
	}, 500);
});
// 申请退款
$('body').delegate('.btn-refund', 'tap', function () {
	// 此为申请售后
	//alert('程序汪玩命加班中，不要急');
});
// 确认收货
$('body').delegate('.btn-confirm', 'tap', function () {
	var dom = this, order_id = $(dom).closest('.order').attr('data-id');
	
	app.log('确认收货：', {'token':app.store('token'), 'data':{'order_id':order_id}});
	$(dom).prop('disabled', true);
	plus.nativeUI.showWaiting();
	$.ajax({
		'dataType' : 'json',
		'type'     : 'post',
		'url'      : app.url('App/Order/Index/receipt'),
		'data'     : {'token':app.store('token'), 'data':{'order_id':order_id}},
	})
	.fail(function (res) {
		// 失败回调
		plus.nativeUI.closeWaiting();
		app.log('确认收货失败：', res);
		app.toast('确认收货失败');
		$(dom).prop('disabled', false);
	})
	.done(function (res) {
		// 成功回调
		plus.nativeUI.closeWaiting();
		app.log('确认收货：', res);
		$(dom).prop('disabled', false);
		
		if (500 == res.code) { app.toast('你还未登录'); return; }
		if (300 == res.code) { app.toast(res.msg); return; }
		if (200 != res.code) { app.toast('请求失败'); return; }
		if (res.msg) { app.toast(res.msg); }
		
		$(dom).prop('disabled', true);
		page.trigger('page.disable('+JSON.stringify({'id':order_id})+')');
	})
	;
});
// 去评价商品
$('body').delegate('.btn-comment', 'tap', function (e) {
	app.open('product.comment.edit.html', {'order_id':$(this).closest('.order').attr('data-id')});
});
// 删除订单
$('body').delegate('.btn-remove', 'tap', function () {
	var dom = this, order_id = $(dom).closest('.order').attr('data-id');
	
	app.log('删除订单：', {'token':app.store('token'), 'data':{'order_id':order_id}});
	$(dom).prop('disabled', true);
	plus.nativeUI.showWaiting();
	$.ajax({
		'dataType' : 'json',
		'type'     : 'post',
		'url'      : app.url('App/Order/Index/delete'),
		'data'     : {'token':app.store('token'), 'data':{'order_id':order_id}},
	})
	.fail(function (res) {
		// 失败回调
		plus.nativeUI.closeWaiting();
		app.log('删除订单失败：', res);
		app.toast('删除订单失败');
		$(dom).prop('disabled', false);
	})
	.done(function (res) {
		// 成功回调
		plus.nativeUI.closeWaiting();
		app.log('删除订单：', res);
		$(dom).prop('disabled', false);
		
		if (500 == res.code) { app.toast('你还未登录'); return; }
		if (300 == res.code) { app.toast(res.msg); return; }
		if (200 != res.code) { app.toast('请求失败'); return; }
		if (res.msg) { app.toast(res.msg); }
		
		$(dom).prop('disabled', true);
		page.trigger('page.disable('+JSON.stringify({'id':order_id})+')');
	})
	;
});
// 申请售后
$('body').delegate('.btn-after-sale', 'tap', function () {
	var dom = $(this).closest('.order');
	var data = {
		'order_id' : $(dom).attr('data-id'),
		'total'    : $(dom).attr('data-total'),
	};
	app.open('after.sale.apply.refound.html', data);
});

})(mui, $)
